Ext.override(Ext.form.RadioGroup, {     
				    getValue: function(){     
				        var v;     
				        if (this.rendered) {     
				            this.items.each(function(item){     
				                if (!item.getValue())      
				                    return true;     
				                v = item.getRawValue();     
				                return false;     
				            });     
				        }     
				        else {     
				            for (var k in this.items) {     
				                if (this.items[k].checked) {     
				                    v = this.items[k].inputValue;     
				                    break;     
				                }     
				            }     
				        }
				        return v;     
				    },     
				    setValue: function(v){     
				        if (this.rendered)      
				            this.items.each(function(item){     
				                item.setValue(item.getRawValue() == v);   
				            });     
				        else {     
				            for (var k in this.items) {     
				                this.items[k].checked = this.items[k].inputValue == v;     
				            }     
				        } 
				    }     
				}); 

var Jthtwb_patient = Ext.data.Record.create([ {
					name : 'fpid',
					mapping : 'fpid',
					type : 'string'
				}, {
					name : 'fname',
					mapping : 'fname',
					type : 'string'
				}, {
					name : 'fstate',
					mapping : 'fstate',
					type : 'string'
				}, {
					name : 'fsex',
					mapping : 'fsex',
					type : 'string'
				}, {
					name : 'fphone1',
					mapping : 'fphone1',
					type : 'string'
				}, {
					name : 'fjwh',
					mapping : 'fjwh',
					type : 'string'
				}, {
					name : 'fadd_detail',
					mapping : 'fadd_detail',
					type : 'string'
				}, {
					name : 'fybkh',
					mapping : 'fybkh',
					type : 'string'
				}, {
					name : 'fsign_date',
					mapping : 'fsign_date',
					type : 'string'
				} ]);

		//新增签约登记
		function sign_mod_fun(fofficeCode, fpidStr, fbdateStr, fedateStr, fsign_doctorStr, fybkhStr, fidcdStr, fnameStr, fsexStr, fadd_detailStr, fphone1Str,fphone2Str, 
					          fxyjcStr, fxtjcStr, fxzjcStr, fxnsjcStr, fxjgjcStr, fxybhdjcStr, fydjcStr, fxdjcStr, fwzfwStr
		) {
		
		var fsdate = new Ext.form.DateField({
					fieldLabel : '合约开始日期',
					format: 'Y-m-d',
					id:'fbtime_id',
					name:'fbdate',
					width : 100,
					value : fbdateStr,
					style:"cursor:pointer;color:blue"
				});
			
	           var fedate = new Ext.form.DateField({
	   				fieldLabel : '合约终止日期',
	   				format: 'Y-m-d',
	   				id:'fetime_id',
					name:'fedate',
					width : 100,
	   				style:"cursor:pointer;color:blue",
	   				value : fedateStr
	   			});
	   			
	   	 var chkEditDomain = new Ext.form.CheckboxGroup({        
	   	 		fieldLabel: '服务项目',
	   	 		name:'chkEditDomain',
			    allowBlank:false,        
			    columns: 1,        
			    items: [            
			    	{boxLabel: '血压监测', name: 'fxyjc' },
                    {boxLabel: '血糖监测', name: 'fxtjc' },
                    {boxLabel: '血脂', name: 'fxzjc' },
                    {boxLabel: '血尿酸', name: 'fxnsjc' },
                    {boxLabel: '血肌酐', name: 'fxjgjc' },
                    {boxLabel: '血氧饱和度', name: 'fxybhdjc' },
                    {boxLabel: '眼底', name: 'fydjc' },
                    {boxLabel: '心电', name: 'fxdjc' },
                    {boxLabel: '位置服务', name: 'fwzfu' }        
			    ]    
		  });
	   			
		var sign_detail_form = new Ext.FormPanel(
				{
					region : 'center',
					labelWidth : 105,
					url: 'patient!savePatientInfo.do',
				    method : 'POST',
					frame : true,
					labelAlign : 'right',
					autoScroll : true,
					border : false,

					items : [ {
							columnWidth : .99,
							layout : "form",
							baseCls : "x-plain",
						//	labelWidth : 120,
							bodyStyle : 'padding-top:5px;',
							frame : true,
							items : [ fsdate, fedate, {
								xtype : 'textfield',
								fieldLabel : '身份证号',
								id : 'fidcd_id',
								name : 'fidcd',
								value : fidcdStr,
								readOnly : false,
								allowBlank : false,
								width : 150
							}, {
								xtype : 'textfield',
								fieldLabel : '医保卡号',
								name : 'fybkh',
								value : fybkhStr,
								readOnly : false,
								allowBlank : true,
								width : 150
							}, {
								xtype : 'textfield',
								fieldLabel : '姓名',
								name : 'fname',
								value : fnameStr,
								readOnly : false,
								allowBlank : true,
								width : 150
							}, {
				                xtype: 'radiogroup',
				                fieldLabel: '性别',
				                itemCls: 'x-check-group-alt',
				                columns: 3,
				                id : 'form_sex_id',
				                items: [
				                    {boxLabel: '男', name: 'fsex', inputValue: 1},
				                    {boxLabel: '女', name: 'fsex', inputValue: 2},
				                    {boxLabel: '未知', name: 'fsex', inputValue: 3}
				                ]
				            }, {
								xtype : 'textfield',
								fieldLabel : '合约手机号码',
								name : 'fphone1',
								value : fphone1Str,
								readOnly : false,
								allowBlank : true,
								width : 150
								
							}, {
								xtype : 'textfield',
								fieldLabel : '常用手机号码',
								name : 'fphone2',
								value : fphone2Str,
								readOnly : false,
								allowBlank : true,
								width : 150
								
							}, {
								xtype : 'textfield',
								fieldLabel : '家庭住址',
								name : 'fadd_detail',
								value : fadd_detailStr,
								readOnly : false,
								allowBlank : true,
								width : 150
							}, {
								xtype : 'hidden',
								fieldLabel : 'fpid',
								name : 'fpid',
								value : fpidStr
							}, {
								xtype : 'hidden',
								fieldLabel : '签约中心机构',
								name : 'foffice',
								value : fofficeCode
							}, chkEditDomain ]
						} ]
				});
		
		var parameter_Jthtwb = Ext.data.Record.create([ {
			name : 'fidcd',
			mapping : 'fidcd',
			type : 'string'
		},{
			name : 'fphone',
			mapping : 'fphone',
			type : 'string'
		},{
			name : 'fname',
			mapping : 'fname',
			type : 'string'
		},{
			name : 'ftype',
			mapping : 'ftype',
			type : 'string'
		}]);
		
		var view_ds = new Ext.data.Store({
			reader : new Ext.data.JsonReader({
				totalProperty : 'totalProperty',
				root : 'root'
			}, parameter_Jthtwb),
			idProperty : 'threadid',
			remoteSort : true,
			url: 'patient!queryContact.do'
		});
		
		view_ds.load(
			{ params:
				{
				 "fidcd" : fidcdStr //Ext.get("ybhm_id").dom.value    //医保号码
		 }});
		
		//定义勾选框，不需要可不必定义
		var view_sm = new Ext.grid.CheckboxSelectionModel({
			singleSelect : true //单选
		});

		//参数类型
		var fcolType_store = new Ext.data.SimpleStore( {
				fields : [ 'ftype_desc' ],
				data : [ [ '配偶' ], [ '子女' ], [ '父母' ], [ '其他' ] ]});
		
		//定义列
		var view_colM = new Ext.grid.ColumnModel([ view_sm, //new Ext.grid.RowNumberer(),//增加自动编号，不需要可不必定义
		{
			header : '姓名',
			dataIndex : 'fname',
			width : 100,
			renderer : function(value, metadata, record, rowIndex, colIndex, store) {
            	if(value == null || value == "null") {
            		value = "";
            	} else {
            		return value;
            	}
            } ,
			editor: new Ext.form.TextField({
               allowBlank: true,
               style: 'text-align:left'
            }),
			sortable : true
		},{
            header: "关系",
            width: 80,
            sortable: true,
            dataIndex: 'ftype',
            renderer : function(value, cellmeta, record){
            	//获取当前id="combo_process"的comboBox选择的值
				var index = fcolType_store.find(Ext.getCmp('combo_type').valueField, value);
				var record = fcolType_store.getAt(index);
				var displayText = "";
				// 如果下拉列表没有被选择，那么record也就不存在，这时候，返回传进来的value，
				// 而这个value就是grid的deal_with_name列的value，所以直接返回
				if (record == null) {
					//返回默认值，这是与网上其他解决办法不同的。这个方法才是正确的。我研究了很久才发现。
					displayText = value;
				} else {
					displayText = record.data.ftype_desc;//获取record中的数据集中的process_name字段的值
				}
				
				if(displayText == null || displayText == "null") {
					return "";
				} else {
					return displayText;
				}
				
            },
            editor: new Ext.form.ComboBox({
               //typeAhead: true,
               mode : 'local',
                    hiddenName : 'ftype_desc',
					hiddenValue : 'ftype_desc',
					valueField : 'ftype_desc',
					displayField : 'ftype_desc',
					triggerAction : 'all',
					id :"combo_type",
              		// transform:'light',
               		store : fcolType_store,
               		listeners : {
						select : function(obj) { 
							var record = rctx_grid.getSelectionModel().getSelected();
							//个性化定制信息内容
							if(obj.value == 3) {
							
							}
						}
					}
               //listClass: 'x-combo-list-small'
            })
        }, {
			header : '手机号码',
			dataIndex : 'fphone',
			width : 120,
			renderer : function(value, metadata, record, rowIndex, colIndex, store) {
				if(value == null || value == "null") {
            		value = "";
            	} else {
            		return value;
            	}
            } ,
			editor: new Ext.form.TextField({
               allowBlank: true,
               style: 'text-align:left'
            }),
			sortable : true
		} ]);
		
		
		
		var btn_add_parameter = new Ext.Button({
				text : '新增',
				iconCls : 'sy-add',
				handler : function() {
					var myDate = new Date();  // 得到系统日期 
					myDate.getFullYear();  //获取完整的年份(4位,1970-????) 
					myDate.getMonth();      //获取当前月份(0-11,0代表1月) 
					myDate.getDate();      //获取当前日(1-31) 
					myDate.getHours();      //获取当前小时数(0-23) 
					myDate.getMinutes();    //获取当前分钟数(0-59) 
					myDate.getSeconds();    //获取当前秒数(0-59) 
					myDate.getMilliseconds();  //获取当前毫秒数(0-999) 
					 
					var random_str = ("" + Math.random()).substring(2,8);
					
					var f_id = myDate.getFullYear() + "" + myDate.getMonth() 
							   + myDate.getDate() + myDate.getHours() 
							   + myDate.getMinutes() + myDate.getSeconds()
							   + myDate.getMilliseconds() + random_str;
							   
	                var p = new parameter_Jthtwb({
	                    fid : f_id,
	        	 		fname : '',
	        	 		fphone : '',
	        	 		ftype : ''
	                });
	                view_grid.stopEditing();
	                view_ds.insert(0, p);
	                view_grid.startEditing(0, 0);
				}
			});
		
		
	var btn_delete_parameter = new Ext.Button({
			text : '删除',
			iconCls : 'sy-delete',
			handler : function(btn) {
				Ext.Msg.confirm('确认删除', '您确定删除所选记录吗？', function(btn) {
					if (btn == 'yes') {
						
						var view_record = view_grid.getSelectionModel().getSelected();
						if (view_record) {
							if(view_record.data.fphone == null || view_record.data.fphone == "") {
							    Ext.Msg.alert('提示', '家庭中心联系人号码不能为空！');
					    		return ;
					    	}
						
							//提交
							Ext.Ajax.request({
								url : 'patient!deleteContact.do',// ?id='+uid,
								method : 'POST',
								params : {
									"fidcd" : Ext.get("fidcd_id").dom.value,
									"fphone" : view_record.data.fphone
								},
								success : function(response, action) {
									view_ds.removeAll();
									view_ds.load({
										params : {
											'fidcd' : Ext.get("fidcd_id").dom.value
										}
									});
								},
								// 提交失败的回调函数
								failure : function() {
									Ext.Msg.alert('错误', '服务器出现错误请稍后再试！');
								}
							});
						}
					} else {
						Ext.MessageBox.alert('提示', '请选择一行记录进行操作！');
						return;
					}
				});
			}
		});
	
	var btn_refresh_parameter = new Ext.Button({
			text : '刷新',
			iconCls : 'sy-refresh',
			handler : function(btn) {
				view_ds.removeAll();
				view_ds.load({
					params : {
						'fidcd' : Ext.get("fidcd_id").dom.value
					}
				});
			}
		});
	
	
	var btn_reset_ym = new Ext.Button({
				text : '关闭',
				iconCls : 'sy-reset',
				handler : function(btn) {
					sign_detail_window.close();
				}
			});
	
	//生成表格
	var view_grid = new Ext.grid.EditorGridPanel({
		//closable : false,
		//region : 'center',
		title : '',
		height : 400,
		id : 'view_grid',
		layout : 'fit',
		width : 300,
		cm : view_colM,
		ds : view_ds,
		sm : view_sm,
		stripeRows : true,
		clicksToEdit:1,
		//defaults:{margins:'20 20 20 20'},
		enableHdMenu : false
		
	});
	// 单元格编辑后事件处理 
    view_grid.on("afteredit", afterEdit, view_grid); 
    // 事件处理函数 
    function afterEdit(e) { 
        var record = view_grid.getSelectionModel().getSelected();
    	if(record.data.fphone == null || record.data.fphone == "") {
    		return ;
    	}
    	
    	if(Ext.get("fidcd_id").dom.value == null || Ext.get("fidcd_id").dom.value == "") {
    		Ext.Msg.alert('提示', '请输入身份证号码！');
    		return false;
    	}
    	
        //提交
		Ext.Ajax.request({
			url : 'patient!saveContact.do',// ?id='+uid,
			method : 'POST',
			params : {
				"fidcd" : Ext.get("fidcd_id").dom.value,
				"fname" : record.data.fname,
				"ftype" : record.data.ftype,
				"fphone" : record.data.fphone
			},
			success : function(response, action) {
				view_ds.removeAll();
				view_ds.load({
					params : {
						'fidcd' : Ext.get("fidcd_id").dom.value
					}
				});
			},
			// 提交失败的回调函数
			failure : function() {
				Ext.Msg.alert('错误', '服务器出现错误请稍后再试！');
			}
		});
    }; 
		
	var btn_save_parameter = new Ext.Button({
		text : '保存',
		iconCls : 'sy-sure',
		enableKeyEvents : true,
		handler : function(btn) {

			var frm = sign_detail_form.getForm();
			if (frm.isValid()) {
				frm.submit({
					waitTitle : '请稍候',
					waitMsg : '正在提交表单数据,请稍候...',
					success : function(form, action) {
						sign_detail_window.close();
						Ext.Msg.alert('', '保存信息成功，请点击刷新按钮查看信息！');
						
					},
					failure : function(form, action) {
						Ext.Msg.show({
							title : '错误提示',
							msg : action.result.message,
							buttons : Ext.Msg.OK,
							fn : function() {
								unfield.focus(true);
								btn.enable();
							},
							icon : Ext.Msg.ERROR
						});
					},// failure
					icon : Ext.Msg.ERROR
				});
			};// isValid
		}
	});
	
		var panelmenu2 = new Ext.Panel({
			region: "center",
	        margins:'0 0 0 0',
	        width : 300,
	        layout:'fit',
	        title : '家庭中心',
	        tbar:[ btn_add_parameter, '-', btn_delete_parameter, '-', btn_refresh_parameter ],
			items :[view_grid]
	   });	
		
	    
	    var panelmenu3 = new Ext.Panel({
			region: "west",
			split:true,
			title : '患者基本信息',
            minSize: 105,
            maxSize: 450,
            width : 300,
            collapsible: true,
            collapsed: false, //展开或关闭
            margins:'0 0 0 0',
            layout:'fit',
            layoutConfig:{
                animate:true
            },
            tbar:[ btn_save_parameter , '->', btn_reset_ym],
            items :[sign_detail_form]
	   });	


			var btn_reset_form = new Ext.Button({
				text : '取消',
				iconCls : 'sy-cancel',
				handler : function(btn) {
					sign_detail_window.close();
				}
			});

			var sign_detail_window = new Ext.Window({
				//tbar : [ btn_save_form, '-', btn_reset_form, '->', btn_reset_ym],
				//bbar : [ '->', btn_reset_ym ],
				layout : 'border',
				width : 650,//document.body.offsetWidth,
				height : document.body.offsetHeight,
				title : '签约信息管理',
				iconCls : 'sy-win-flag',
				modal : true,
				items : [ panelmenu2, panelmenu3 ]
			});
			sign_detail_window.show();

			chkEditDomain.reset();   
			
			Ext.getCmp("form_sex_id").setValue(fsexStr);
			         
			if(fxyjcStr == "1") chkEditDomain.setValue("fxyjc",true);
			if(fxtjcStr == "1") chkEditDomain.setValue("fxtjc",true);
			if(fxzjcStr == "1") chkEditDomain.setValue("fxzjc",true);
			
			if(fxnsjcStr == "1") chkEditDomain.setValue("fxnsjc",true);
			if(fxjgjcStr == "1") chkEditDomain.setValue("fxjgjc",true);
			if(fxybhdjcStr == "1") chkEditDomain.setValue("fxybhdjc",true);
			
			if(fydjcStr == "1") chkEditDomain.setValue("fydjc",true);
			if(fxdjcStr == "1") chkEditDomain.setValue("fxdjc",true);
			if(fwzfwStr == "1") chkEditDomain.setValue("fwzfw",true);
			
		} // end form
			
		
		
		
		
		//新增签约 
		function sign_add_fun(fofficeCode) {
		
		var fsdate = new Ext.form.DateField({
					fieldLabel : '合约开始日期',
					format: 'Y-m-d',
					id:'fbtime_id',
					name:'fbdate',
					width : 100,
					value : new Date().format('Y-m-d'),
					style:"cursor:pointer;color:blue"
					
				});
			
	           var fedate = new Ext.form.DateField({
	   				fieldLabel : '合约终止日期',
	   				format: 'Y-m-d',
	   				id:'fetime_id',
					name:'fedate',
					width : 100,
	   				style:"cursor:pointer;color:blue"
	   			});
	   			
	   			
		var chkEditDomain = new Ext.form.CheckboxGroup({        
	   	 		fieldLabel: '服务项目',
	   	 		name:'chkEditDomain',
			    allowBlank:false,        
			    columns: 1,        
			    items: [            
			    	{boxLabel: '血压监测', name: 'fxyjc' },
                    {boxLabel: '血糖监测', name: 'fxtjc' },
                    {boxLabel: '血脂', name: 'fxzjc' },
                    {boxLabel: '血尿酸', name: 'fxnsjc' },
                    {boxLabel: '血肌酐', name: 'fxjgjc' },
                    {boxLabel: '血氧饱和度', name: 'fxybhdjc' },
                    {boxLabel: '眼底', name: 'fydjc' },
                    {boxLabel: '心电', name: 'fxdjc' },
                    {boxLabel: '位置服务', name: 'fwzfu' }        
			    ]    
		  });
	   			
		var sign_detail_form = new Ext.FormPanel(
				{
					region : 'center',
					labelWidth : 105,
					url: 'patient!savePatientInfo.do',
				    method : 'POST',
					frame : true,
					labelAlign : 'right',
					autoScroll : true,
					border : false,

					items : [ {
							columnWidth : .99,
							layout : "form",
							baseCls : "x-plain",
						//	labelWidth : 120,
							bodyStyle : 'padding-top:5px;',
							frame : true,
							items : [ fsdate, fedate, {
								xtype : 'textfield',
								fieldLabel : '身份证号',
								id : 'fidcd_id',
								name : 'fidcd',
								allowBlank : false,
								width : 150
							}, {
								xtype : 'textfield',
								fieldLabel : '医保卡号',
								name : 'fybkh',
								readOnly : false,
								allowBlank : true,
								width : 150
							}, {
								xtype : 'textfield',
								fieldLabel : '姓名',
								name : 'fname',
								readOnly : false,
								allowBlank : true,
								width : 150
							}, {
				                xtype: 'radiogroup',
				                fieldLabel: '性别',
				                itemCls: 'x-check-group-alt',
				                columns: 3,
				                items: [
				                    {boxLabel: '男', name: 'fsex', inputValue: 1, checked: true},
				                    {boxLabel: '女', name: 'fsex', inputValue: 2},
				                    {boxLabel: '未知', name: 'fsex', inputValue: 3}
				                ]
				            }, {
								xtype : 'textfield',
								fieldLabel : '合约手机号码',
								name : 'fphone1',
								readOnly : false,
								allowBlank : true,
								width : 150
								
							}, {
								xtype : 'textfield',
								fieldLabel : '常用手机号码',
								name : 'fphone2',
								readOnly : false,
								allowBlank : true,
								width : 150
								
							}, {
								xtype : 'textfield',
								fieldLabel : '家庭住址',
								name : 'fadd_detail',
								readOnly : false,
								allowBlank : true,
								width : 150
							}, {
								xtype : 'hidden',
								fieldLabel : '签约中心机构',
								name : 'foffice',
								value : fofficeCode
							}, chkEditDomain ]
						} ]
				});
		
		var parameter_Jthtwb = Ext.data.Record.create([ {
			name : 'fidcd',
			mapping : 'fidcd',
			type : 'string'
		},{
			name : 'fphone',
			mapping : 'fphone',
			type : 'string'
		},{
			name : 'fname',
			mapping : 'fname',
			type : 'string'
		},{
			name : 'ftype',
			mapping : 'ftype',
			type : 'string'
		}]);
		
		var view_ds = new Ext.data.Store({
			reader : new Ext.data.JsonReader({
				totalProperty : 'totalProperty',
				root : 'root'
			}, parameter_Jthtwb),
			idProperty : 'threadid',
			remoteSort : true,
			url: 'patient!queryContact.do'
		});
		
		view_ds.load(
			{ params:
				{
				 "fidcd" : '' //Ext.get("ybhm_id").dom.value    //医保号码
		 }});
		
		//定义勾选框，不需要可不必定义
		var view_sm = new Ext.grid.CheckboxSelectionModel({
			singleSelect : true //单选
		});

		//参数类型
		var fcolType_store = new Ext.data.SimpleStore( {
				fields : [ 'ftype_desc' ],
				data : [ [ '配偶' ], [ '子女' ], [ '父母' ], [ '其他' ] ]});
		
		//定义列
		var view_colM = new Ext.grid.ColumnModel([ view_sm, //new Ext.grid.RowNumberer(),//增加自动编号，不需要可不必定义
		{
			header : '姓名',
			dataIndex : 'fname',
			width : 100,
			renderer : function(value, metadata, record, rowIndex, colIndex, store) {
            	if(value == null || value == "null") {
            		value = "";
            	} else {
            		return value;
            	}
            } ,
			editor: new Ext.form.TextField({
               allowBlank: true,
               style: 'text-align:left'
            }),
			sortable : true
		},{
            header: "关系",
            width: 80,
            sortable: true,
            dataIndex: 'ftype',
            renderer : function(value, cellmeta, record){
            	//获取当前id="combo_process"的comboBox选择的值
				var index = fcolType_store.find(Ext.getCmp('combo_type').valueField, value);
				var record = fcolType_store.getAt(index);
				var displayText = "";
				// 如果下拉列表没有被选择，那么record也就不存在，这时候，返回传进来的value，
				// 而这个value就是grid的deal_with_name列的value，所以直接返回
				if (record == null) {
					//返回默认值，这是与网上其他解决办法不同的。这个方法才是正确的。我研究了很久才发现。
					displayText = value;
				} else {
					displayText = record.data.ftype_desc;//获取record中的数据集中的process_name字段的值
				}
				
				if(displayText == null || displayText == "null") {
					return "";
				} else {
					return displayText;
				}
				
            },
            editor: new Ext.form.ComboBox({
               //typeAhead: true,
               mode : 'local',
                    hiddenName : 'ftype_desc',
					hiddenValue : 'ftype_desc',
					valueField : 'ftype_desc',
					displayField : 'ftype_desc',
					triggerAction : 'all',
					id :"combo_type",
              		// transform:'light',
               		store : fcolType_store,
               		listeners : {
						select : function(obj) { 
							var record = rctx_grid.getSelectionModel().getSelected();
							//个性化定制信息内容
							if(obj.value == 3) {
							
							}
						}
					}
               //listClass: 'x-combo-list-small'
            })
        }, {
			header : '手机号码',
			dataIndex : 'fphone',
			width : 120,
			renderer : function(value, metadata, record, rowIndex, colIndex, store) {
				if(value == null || value == "null") {
            		value = "";
            	} else {
            		return value;
            	}
            } ,
			editor: new Ext.form.TextField({
               allowBlank: true,
               style: 'text-align:left'
            }),
			sortable : true
		} ]);
		
		
		
		var btn_add_parameter = new Ext.Button({
				text : '新增',
				iconCls : 'sy-add',
				handler : function() {
					var myDate = new Date();  // 得到系统日期 
					myDate.getFullYear();  //获取完整的年份(4位,1970-????) 
					myDate.getMonth();      //获取当前月份(0-11,0代表1月) 
					myDate.getDate();      //获取当前日(1-31) 
					myDate.getHours();      //获取当前小时数(0-23) 
					myDate.getMinutes();    //获取当前分钟数(0-59) 
					myDate.getSeconds();    //获取当前秒数(0-59) 
					myDate.getMilliseconds();  //获取当前毫秒数(0-999) 
					 
					var random_str = ("" + Math.random()).substring(2,8);
					
					var f_id = myDate.getFullYear() + "" + myDate.getMonth() 
							   + myDate.getDate() + myDate.getHours() 
							   + myDate.getMinutes() + myDate.getSeconds()
							   + myDate.getMilliseconds() + random_str;
							   
	                var p = new parameter_Jthtwb({
	                    fid : f_id,
	        	 		fname : '',
	        	 		fphone : '',
	        	 		ftype : ''
	                });
	                view_grid.stopEditing();
	                view_ds.insert(0, p);
	                view_grid.startEditing(0, 0);
				}
			});
		
		
	var btn_delete_parameter = new Ext.Button({
			text : '删除',
			iconCls : 'sy-delete',
			handler : function(btn) {
				Ext.Msg.confirm('确认删除', '您确定删除所选记录吗？', function(btn) {
					if (btn == 'yes') {
						
						var view_record = view_grid.getSelectionModel().getSelected();
						if (view_record) {
							if(view_record.data.fphone == null || view_record.data.fphone == "") {
							    Ext.Msg.alert('提示', '家庭中心联系人号码不能为空！');
					    		return ;
					    	}
						
							//提交
							Ext.Ajax.request({
								url : 'patient!deleteContact.do',// ?id='+uid,
								method : 'POST',
								params : {
									"fidcd" : Ext.get("fidcd_id").dom.value,
									"fphone" : view_record.data.fphone
								},
								success : function(response, action) {
									view_ds.removeAll();
									view_ds.load({
										params : {
											'fidcd' : Ext.get("fidcd_id").dom.value
										}
									});
								},
								// 提交失败的回调函数
								failure : function() {
									Ext.Msg.alert('错误', '服务器出现错误请稍后再试！');
								}
							});
						}
					} else {
						Ext.MessageBox.alert('提示', '请选择一行记录进行操作！');
						return;
					}
				});
			}
		});
	
	var btn_refresh_parameter = new Ext.Button({
			text : '刷新',
			iconCls : 'sy-refresh',
			handler : function(btn) {
				view_ds.removeAll();
				view_ds.load({
					params : {
						'fidcd' : Ext.get("fidcd_id").dom.value
					}
				});
			}
		});
	
	
	var btn_reset_ym = new Ext.Button({
				text : '关闭',
				iconCls : 'sy-reset',
				handler : function(btn) {
					sign_detail_window.close();
				}
			});
	
	//生成表格
	var view_grid = new Ext.grid.EditorGridPanel({
		//closable : false,
		//region : 'center',
		title : '',
		height : 400,
		id : 'view_grid',
		layout : 'fit',
		width : 300,
		cm : view_colM,
		ds : view_ds,
		sm : view_sm,
		stripeRows : true,
		clicksToEdit:1,
		//defaults:{margins:'20 20 20 20'},
		enableHdMenu : false
		
	});
	// 单元格编辑后事件处理 
    view_grid.on("afteredit", afterEdit, view_grid); 
    // 事件处理函数 
    function afterEdit(e) { 
        var record = view_grid.getSelectionModel().getSelected();
    	if(record.data.fphone == null || record.data.fphone == "") {
    		return ;
    	}
    	
    	if(Ext.get("fidcd_id").dom.value == null || Ext.get("fidcd_id").dom.value == "") {
    		Ext.Msg.alert('提示', '请输入身份证号码！');
    		return false;
    	}
    	
        //提交
		Ext.Ajax.request({
			url : 'patient!saveContact.do',// ?id='+uid,
			method : 'POST',
			params : {
				"fidcd" : Ext.get("fidcd_id").dom.value,
				"fname" : record.data.fname,
				"ftype" : record.data.ftype,
				"fphone" : record.data.fphone
			},
			success : function(response, action) {
				view_ds.removeAll();
				view_ds.load({
					params : {
						'fidcd' : Ext.get("fidcd_id").dom.value
					}
				});
			},
			// 提交失败的回调函数
			failure : function() {
				Ext.Msg.alert('错误', '服务器出现错误请稍后再试！');
			}
		});
    }; 
		
    	
	var btn_save_parameter = new Ext.Button({
		text : '保存',
		iconCls : 'sy-sure',
		enableKeyEvents : true,
		handler : function(btn) {
			
			var frm = sign_detail_form.getForm();
			if (frm.isValid()) {
				frm.submit({
					waitTitle : '请稍候',
					waitMsg : '正在提交表单数据,请稍候...',
					success : function(form, action) {
						sign_detail_window.close();
						Ext.Msg.alert('', '保存信息成功，请点击刷新按钮查看信息！');
						
					},
					failure : function(form, action) {
						Ext.Msg.show({
							title : '错误提示',
							msg : action.result.message,
							buttons : Ext.Msg.OK,
							fn : function() {
								unfield.focus(true);
								btn.enable();
							},
							icon : Ext.Msg.ERROR
						});
					},// failure
					icon : Ext.Msg.ERROR
				});
			};// isValid
		}
	});
		var panelmenu2 = new Ext.Panel({
			region: "center",
	        margins:'0 0 0 0',
	        width : 300,
	        layout:'fit',
	        title : '家庭中心',
	        tbar:[ btn_add_parameter, '-', btn_delete_parameter, '-', btn_refresh_parameter ],
			items :[view_grid]
	   });	
		
	    
	    var panelmenu3 = new Ext.Panel({
			region: "west",
			split:true,
			title : '患者基本信息',
            minSize: 105,
            maxSize: 450,
            width : 300,
            collapsible: true,
            collapsed: false, //展开或关闭
            margins:'0 0 0 0',
            layout:'fit',
            layoutConfig:{
                animate:true
            },
            tbar:[ btn_save_parameter, '->', btn_reset_ym ],
            items :[sign_detail_form]
	   });	


			var btn_reset_form = new Ext.Button({
				text : '取消',
				iconCls : 'sy-cancel',
				handler : function(btn) {
					sign_detail_window.close();
				}
			});

				
			var sign_detail_window = new Ext.Window({
				//tbar : [ btn_save_form, '-', btn_reset_form, '->', btn_reset_ym],
				//bbar : [ '->', btn_reset_ym ],
				layout : 'border',
				width : 650,//document.body.offsetWidth,
				height : document.body.offsetHeight,
				title : '签约信息管理',
				iconCls : 'sy-win-flag',
				modal : true,
				items : [ panelmenu2, panelmenu3 ]
			});
			sign_detail_window.show();

		} // end form
		
		
